package com.openlogic.j.api;

import java.util.Map;

import com.openlogic.j.completion.CompletionRequest;
import com.openlogic.j.completion.CompletionResponse;

import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.HeaderMap;
import retrofit2.http.Headers;
import retrofit2.http.POST;
import retrofit2.http.Query;

/**
* @ClassName: OpenDecisionApi
* @Description: 开放接口
* @author weiyongpeng
* @date 2025年2月21日 上午9:51:16
 */
public interface OpenDecisionApi {

	/**
	* 描述：决策流
	* @Title: decisionFlow
	* @param headers
	* @param request
	* @param apiVersion
	* @return
	* @author weiyongpeng
	* @date  2025年2月24日 上午9:54:00
	 */
	@POST("flow")
    @Headers("Content-Type: application/json")
	Call<CompletionResponse> decisionFlow(
	        @HeaderMap Map<String, String> headers,
	        @Body CompletionRequest request,
	        @Query("api-version") String apiVersion);
	
	/**
	* 描述：决策流
	* @Title: decisionFlow
	* @param headers
	* @param request
	* @param apiVersion
	* @return
	* @author weiyongpeng
	* @date  2025年2月24日 上午9:54:00
	 */
	@POST("flow")
    @Headers("Content-Type: application/json")
	Call<CompletionResponse> decisionFlow(
	        @HeaderMap Map<String, String> headers,
	        @Query(value = "datas") String data,
	        @Query(value = "id") String id,
	        @Query(value = "operateNo") String operator,
	        @Query("api-version") String apiVersion);

	/**
	* 描述：决策树
	* @Title: decisionTree
	* @param headers
	* @param request
	* @param apiVersion
	* @return
	* @author weiyongpeng
	* @date  2025年2月24日 上午9:54:10
	 */
    @POST("tree")
    @Headers("Content-Type: application/json")
    Call<CompletionResponse> decisionTree(
        @HeaderMap Map<String, String> headers,
        @Query(value = "datas") String data,
        @Query(value = "id") String id,
        @Query(value = "operateNo") String operator,
        @Query("api-version") String apiVersion);

    /**
    * 描述：决策表
    * @Title: decisionTable
    * @param headers
    * @param request
    * @param apiVersion
    * @return
    * @author weiyongpeng
    * @date  2025年2月24日 上午9:54:24
     */
    @POST("table")
    @Headers("Content-Type: application/json")
    Call<CompletionResponse> decisionTable(
        @HeaderMap Map<String, String> headers,
        @Query(value = "datas") String data,
        @Query(value = "id") String id,
        @Query(value = "operateNo") String operator,
        @Query("api-version") String apiVersion);

    /**
    * 描述：交叉决策表
    * @Title: decisionCrossTable
    * @param headers
    * @param request
    * @param apiVersion
    * @return
    * @author weiyongpeng
    * @date  2025年2月24日 上午9:54:37
     */
    @POST("crosstable")
    @Headers("Content-Type: application/json")
    Call<CompletionResponse> decisionCrossTable(
        @HeaderMap Map<String, String> headers,
        @Query(value = "datas") String data,
        @Query(value = "id") String id,
        @Query(value = "operateNo") String operator,
        @Query("api-version") String apiVersion);

    /**
    * 描述：评分卡
    * @Title: decisionScoreCard
    * @param headers
    * @param request
    * @param apiVersion
    * @return
    * @author weiyongpeng
    * @date  2025年2月24日 上午9:54:52
     */
    @POST("scorecard")
    @Headers("Content-Type: application/json")
    Call<CompletionResponse> decisionScoreCard(
        @HeaderMap Map<String, String> headers,
        @Query(value = "datas") String data,
        @Query(value = "id") String id,
        @Query(value = "operateNo") String operator,
        @Query("api-version") String apiVersion);

    
}
